home *** CD-ROM | disk | FTP | other *** search
- From: riley@mipsdal.mips.com (Riley Rainey)
- Newsgroups: comp.sources.x
- Subject: v12i010: acm - X aerial combat simulation, Part05/09
- Message-ID: <8987@exodus.Eng.Sun.COM>
- Date: 2 Mar 91 08:32:38 GMT
- Approved: argv@sun.com
-
- Submitted-by: riley@mipsdal.mips.com (Riley Rainey)
- Posting-number: Volume 12, Issue 10
- Archive-name: acm/part05
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 5 (of 9)."
- # Contents: acm/V/lib/Makefile acm/V/test/fullrwy acm/V/test/rwy
- # acm/fsim/missile.c
- # Wrapped by riley@mipsdal on Thu Feb 14 10:09:19 1991
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'acm/V/lib/Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'acm/V/lib/Makefile'\"
- else
- echo shar: Extracting \"'acm/V/lib/Makefile'\" \(11709 characters\)
- sed "s/^X//" >'acm/V/lib/Makefile' <<'END_OF_FILE'
- X# Makefile generated by imake - do not edit!
- X# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
- X
- X###########################################################################
- X# Makefile generated from "Imake.tmpl" and <Imakefile>
- X# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
- X#
- X# Platform-specific parameters may be set in the appropriate .cf
- X# configuration files. Site-wide parameters may be set in the file
- X# site.def. Full rebuilds are recommended if any parameters are changed.
- X#
- X# If your C preprocessor doesn't define any unique symbols, you'll need
- X# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
- X# "make Makefile", "make Makefiles", or "make World").
- X#
- X# If you absolutely can't get imake to work, you'll need to set the
- X# variables at the top of each Makefile as well as the dependencies at the
- X# bottom (makedepend will do this automatically).
- X#
- X
- X###########################################################################
- X# platform-specific configuration parameters - edit Mips.cf to change
- X
- X# platform: $XConsortium: Mips.cf,v 1.2 89/01/11 14:58:19 jim Exp $
- X# operating system: RISCOS
- X
- X SYSVTYPE = -systype sysv
- X BSDTYPE = -systype bsd43
- X SYSVDEFS = -DMips -DSYSV
- X BSDDEFS = -DMips -DBSD43
- X SYSVINCS = -I$(DESTDIR)/usr/include/bsd
- X BSDINCS =
- X SYSVLIBS = -lbsd -lmld
- X BSDLIBS = -lmld
- X
- X SYSTYPE = $(BSDTYPE)
- X SYSDEFS = $(BSDDEFS)
- X SYSINCS = $(BSDINCS)
- X SYSLIBS = $(BSDLIBS)
- X
- X OPTIM = -O -Olimit 2000 -Wf,-XNd8400,-XNp12000
- X CCOPT = -signed
- X DEFINES = -D_NO_PROTO
- XSYSVCFLAGS = $(OPTIM) $(CCOPT) $(SYSVTYPE) $(INCLUDES) $(SYSVDEFS) $(SYSVINCS) $(DEFINES)
- X BSDCFLAGS = $(OPTIM) $(CCOPT) $(BSDTYPE) $(INCLUDES) $(BSDDEFS) $(BSDINCS) $(DEFINES)
- X
- X ETCDIR = /etc
- X ULIBDIR = /usr/lib
- X
- X XINSTALLDIR = RISCwindows4.0
- X INSTALLFLAGS = -m 0555
- X RS1210DIR = $(DESTDIR)/usr/$(XINSTALLDIR)/RS1210
- X CONTRIBBINDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/contrib/bin
- XCONTRIBAPPSDEFDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/contrib/lib/app-defaults
- X CONTRIBMANDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/contrib/man
- X CONTRIBSRCDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/contrib/src
- X RS1210LIBDIR = $(LIBDIR)/ncd
- X
- X BINPATH = /usr/bin/X11
- X LIBPATH = /usr/lib/X11
- X ETCPATH = /usr/etc/X11
- X ADMPATH = /usr/adm
- X NCDPATH = /usr/X11/ncd
- X NCDLIBPATH = $(LIBPATH)/ncd
- X XINITPATH = $(LIBPATH)/xinit
- X XDMPATH = $(ETCPATH)/xdm
- X UWMPATH = $(LIBPATH)/uwm
- X AWMPATH = $(LIBPATH)/awm
- X MWMPATH = $(LIBPATH)/mwm
- X TWMPATH = $(LIBPATH)/twm
- X XAPPLOADPATH = $(LIBPATH)/app-defaults
- X RS1210SRC = $(TOP)/rs1210
- X
- X MOTIFSRC = $(TOP)/motif
- X MLIBSRC = $(MOTIFSRC)/lib
- X MCLIENTSRC = $(MOTIFSRC)/clients
- X MDEMOSRC = $(MOTIFSRC)/demos
- X MTOOLKITSRC = $(MOTIFSRC)/X11R4/lib/Xt
- X MWIDGETSRC = $(MLIBSRC)/Xm
- X INCLUDEXMSRC = $(MLIBSRC)/Xm
- X MRESOURCESRC = $(MLIBSRC)/Mrm
- X MWMDIR = $(LIBDIR)/Mwm
- X DEMOBINDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/demos/bin
- X DEMOSRCDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/demos/src
- X MINCLUDE = $(TOP)/include
- X UILSRC = $(MCLIENTSRC)/uil
- X UIL = $(UILSRC)/uil
- X
- X XMTOOLLIB = $(MTOOLKITSRC)/libXt.a
- X XMLIB = $(MWIDGETSRC)/libXm.a
- X MRESOURCELIB = $(MRESOURCESRC)/libMrm.a
- X UILLIB = $(UILSRC)/libUil.a
- X
- X BUILDTOOLSDIR = $(TOP)/buildtools
- XCROSSENVOVERRIDE= DESTROOT=/ COMP_TARGET_ROOT=/ ETCDIR=/etc ULIBDIR=/usr/lib
- X
- X###########################################################################
- X# site-specific configuration parameters - edit site.def to change
- X
- X# site: $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $
- X
- X SHELL = /bin/sh
- X
- X TOP = ../../.
- X CURRENT_DIR = ./V/lib
- X
- X AR = ar clr
- X BOOTSTRAPCFLAGS = $(SYSDEFS)
- X CC = cc
- X
- X COMPRESS = compress
- X CPP = /lib/cpp $(STD_CPP_DEFINES)
- X PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
- X INSTALL = $(ETCDIR)/mipsinstall
- X LD = ld
- X LINT = lint
- X LINTLIBFLAG = -C
- X LINTOPTS = -axz
- X LN = ln -s
- X MAKE = make ETCDIR='$(ETCDIR)' ULIBDIR='$(ULIBDIR)'
- X MV = mv
- X CP = cp
- X RANLIB = /bin/true
- X RANLIBINSTFLAGS =
- X RM = rm -f
- X STD_INCLUDES =
- X STD_CPP_DEFINES = $(SYSDEFS)
- X STD_DEFINES = $(SYSDEFS) $(SYSINCS)
- X EXTRA_LOAD_FLAGS =
- X EXTRA_LIBRARIES = $(SYSLIBS)
- X TAGS = ctags
- X
- X SIGNAL_DEFINES = -DSIGNALRETURNSINT
- X
- X PROTO_DEFINES =
- X
- X INSTPGMFLAGS =
- X
- X INSTBINFLAGS = -m 0755
- X INSTUIDFLAGS = -m 4755
- X INSTLIBFLAGS = -m 0664
- X INSTINCFLAGS = -m 0444
- X INSTMANFLAGS = -m 0444
- X INSTDATFLAGS = -m 0444
- X INSTKMEMFLAGS = -g sys -m 2755
- X
- X DESTDIR = $(DESTROOT)
- X
- X TOP_INCLUDES = -I$(INCROOT)
- X
- X CDEBUGFLAGS = $(OPTIM) $(CCOPT) $(SYSTYPE)
- X CCOPTIONS =
- X COMPATFLAGS =
- X
- X ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
- X ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS) $(EXT_DEFINES)
- X CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
- X LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
- X LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
- X LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
- X LDCOMBINEFLAGS = -X -r
- X
- X MACROFILE = Mips.cf
- X RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut *.u *.b
- X
- X IMAKE_DEFINES =
- X
- X IRULESRC = $(CONFIGDIR)
- X IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
- X
- X ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
- X $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
- X $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
- X
- X###########################################################################
- X# X Window System Build Parameters
- X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
- X
- X###########################################################################
- X# X Window System make variables; this need to be coordinated with rules
- X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
- X
- X PATHSEP = /
- X USRLIBDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/lib
- X BINDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/bin
- X INCROOT = $(DESTDIR)/usr/$(XINSTALLDIR)/include
- X BUILDINCROOT = $(TOP)
- X BUILDINCDIR = $(BUILDINCROOT)/X11
- X BUILDINCTOP = ..
- X INCDIR = $(INCROOT)/X11
- X ADMDIR = $(DESTDIR)/usr/adm
- X LIBDIR = $(USRLIBDIR)/X11
- X CONFIGDIR = $(LIBDIR)/config
- X LINTLIBDIR = $(USRLIBDIR)/lint
- X
- X FONTDIR = $(LIBDIR)/fonts
- X XINITDIR = $(LIBDIR)/xinit
- X XDMDIR = $(DESTDIR)/usr/X11/etc/xdm
- X AWMDIR = $(LIBDIR)/awm
- X TWMDIR = $(LIBDIR)/twm
- X GWMDIR = $(LIBDIR)/gwm
- X MANPATH = $(DESTDIR)/usr/$(XINSTALLDIR)/man/cat
- X MANSOURCEPATH = $(MANPATH)/man
- X MANDIR = $(MANSOURCEPATH)1
- X LIBMANDIR = $(MANSOURCEPATH)3
- X XAPPLOADDIR = $(LIBDIR)/app-defaults
- X
- X FONTCFLAGS = -t
- X
- X INSTAPPFLAGS = $(INSTDATFLAGS)
- X
- X IMAKE = imake
- X DEPEND = makedepend
- X RGB = rgb
- X FONTC = bdftosnf
- X MKFONTDIR = mkfontdir
- X MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
- X
- X CONFIGSRC = $(TOP)/config
- X CLIENTSRC = $(TOP)/clients
- X DEMOSRC = $(TOP)/demos
- X LIBSRC = $(TOP)/lib
- X FONTSRC = $(TOP)/fonts
- X INCLUDESRC = $(TOP)/X11
- X SERVERSRC = $(TOP)/server
- X UTILSRC = $(TOP)/util
- X SCRIPTSRC = $(UTILSRC)/scripts
- X EXAMPLESRC = $(TOP)/examples
- X CONTRIBSRC = $(TOP)/../contrib
- X DOCSRC = $(TOP)/doc
- X RGBSRC = $(TOP)/rgb
- X DEPENDSRC = $(UTILSRC)/makedepend
- X IMAKESRC = $(CONFIGSRC)
- X XAUTHSRC = $(LIBSRC)/Xau
- X XLIBSRC = $(LIBSRC)/X
- X XMUSRC = $(LIBSRC)/Xmu
- X TOOLKITSRC = $(LIBSRC)/Xt
- X AWIDGETSRC = $(LIBSRC)/Xaw
- X OLDXLIBSRC = $(LIBSRC)/oldX
- X XDMCPLIBSRC = $(LIBSRC)/Xdmcp
- X BDFTOSNFSRC = $(FONTSRC)/bdftosnf
- X MKFONTDIRSRC = $(FONTSRC)/mkfontdir
- X EXTENSIONSRC = $(TOP)/extensions
- X
- X DEPEXTENSIONLIB = $(USRLIBDIR)/libXext.a
- X EXTENSIONLIB = -lXext
- X
- X DEPXLIB = $(DEPEXTENSIONLIB) $(USRLIBDIR)/libX11.a
- X XLIB = $(EXTENSIONLIB) -lX11
- X
- X DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
- X XAUTHLIB = -lXau
- X
- X DEPXMULIB = $(USRLIBDIR)/libXmu.a
- X XMULIB = -lXmu
- X
- X DEPOLDXLIB = $(USRLIBDIR)/liboldX.a
- X OLDXLIB = -loldX
- X
- X DEPXTOOLLIB = $(USRLIBDIR)/libXt.a
- X XTOOLLIB = -lXt
- X
- X DEPXAWLIB = $(USRLIBDIR)/libXaw.a
- X XAWLIB = -lXaw
- X
- X LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
- X LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
- X LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
- X LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
- X LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
- X
- X DEPLIBS = $(LOCAL_LIBRARIES)
- X
- X DEPLIBS1 = $(DEPLIBS)
- X DEPLIBS2 = $(DEPLIBS)
- X DEPLIBS3 = $(DEPLIBS)
- X
- X###########################################################################
- X# Imake rules for building libraries, programs, scripts, and data files
- X# rules: $XConsortium: Imake.rules,v 1.70 90/05/04 16:57:30 keith Exp $
- X
- X###########################################################################
- X# start of Imakefile
- X
- XCDEBUGFLAGS = -systype bsd43 -O
- X
- XSRCS = \
- X VOpenVp.c \
- X VResizeVp.c \
- X VCloseVp.c \
- X VGetEyeSpace.c \
- X VGetPlanes.c \
- X VReadObject.c \
- X VWriteObject.c \
- X VAllocColor.c \
- X VBindColors.c \
- X VExpBuffer.c \
- X VCrPoly.c \
- X VCrPoints.c \
- X VCopyPoly.c \
- X VDrawPoly.c \
- X VFillPoly.c \
- X VDrawString.c \
- X VClipPoly.c \
- X VDotProd.c \
- X VCrossProd.c \
- X VRotate.c \
- X VTransPoly.c \
- X VWorldToScr.c \
- X VEyeToScr.c \
- X VTrans.c \
- X VIdentMat.c \
- X VMatMult.c \
- X VMatDet.c \
- X VMatInvert.c \
- X VPrintPoly.c \
- X Vmalloc.c \
- X strdup.c
- X
- XOBJS = \
- X VOpenVp.o \
- X VResizeVp.o \
- X VCloseVp.o \
- X VGetEyeSpace.o \
- X VGetPlanes.o \
- X VReadObject.o \
- X VWriteObject.o \
- X VAllocColor.o \
- X VBindColors.o \
- X VExpBuffer.o \
- X VCrPoly.o \
- X VCrPoints.o \
- X VCopyPoly.o \
- X VDrawPoly.o \
- X VFillPoly.o \
- X VDrawString.o \
- X VClipPoly.o \
- X VDotProd.o \
- X VCrossProd.o \
- X VRotate.o \
- X VTransPoly.o \
- X VWorldToScr.o \
- X VEyeToScr.o \
- X VTrans.o \
- X VIdentMat.o \
- X VMatMult.o \
- X VMatDet.o \
- X VMatInvert.o \
- X VPrintPoly.o \
- X Vmalloc.o \
- X strdup.o
- X
- Xall:: libV.a
- X
- XlibV.a: $(OBJS)
- X $(RM) $@
- X $(AR) $(ARFLAGS) $@ $(OBJS)
- X $(RANLIB) $@
- X
- Xdepend::
- X $(DEPEND) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS)
- X
- X###########################################################################
- X# common rules for all Makefiles - do not edit
- X
- Xemptyrule::
- X
- Xclean::
- X $(RM_CMD) \#*
- X
- XMakefile::
- X -@if [ -f Makefile ]; then \
- X echo " $(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
- X $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
- X else exit 0; fi
- X $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
- X
- Xtags::
- X $(TAGS) -w *.[ch]
- X $(TAGS) -xw *.[ch] > TAGS
- X
- X###########################################################################
- X# empty rules for directories that do not have SUBDIRS - do not edit
- X
- Xinstall::
- X @echo "install in $(CURRENT_DIR) done"
- X
- Xinstall.man::
- X @echo "install.man in $(CURRENT_DIR) done"
- X
- XMakefiles::
- X
- Xincludes::
- X
- X###########################################################################
- X# dependencies generated by makedepend
- X
- END_OF_FILE
- if test 11709 -ne `wc -c <'acm/V/lib/Makefile'`; then
- echo shar: \"'acm/V/lib/Makefile'\" unpacked with wrong size!
- fi
- # end of 'acm/V/lib/Makefile'
- fi
- if test -f 'acm/V/test/fullrwy' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'acm/V/test/fullrwy'\"
- else
- echo shar: Extracting \"'acm/V/test/fullrwy'\" \(11276 characters\)
- sed "s/^X//" >'acm/V/test/fullrwy' <<'END_OF_FILE'
- XRunway
- X280 69
- X1 0.000000 -75.000000 0.000000
- X2 12000.000000 -75.000000 0.000000
- X3 12000.000000 75.000000 0.000000
- X4 0.000000 75.000000 0.000000
- X5 0.000000 -75.000000 0.000000
- X6 12000.000000 -75.000000 0.000000
- X7 12000.000000 -70.000000 0.000000
- X8 0.000000 -70.000000 0.000000
- X9 0.000000 75.000000 0.000000
- X10 12000.000000 75.000000 0.000000
- X11 12000.000000 70.000000 0.000000
- X12 0.000000 70.000000 0.000000
- X13 1000.000000 -66.000000 0.000000
- X14 1125.000000 -66.000000 0.000000
- X15 1125.000000 -36.000000 0.000000
- X16 1000.000000 -36.000000 0.000000
- X17 1000.000000 66.000000 0.000000
- X18 1125.000000 66.000000 0.000000
- X19 1125.000000 36.000000 0.000000
- X20 1000.000000 36.000000 0.000000
- X21 11000.000000 -66.000000 0.000000
- X22 10875.000000 -66.000000 0.000000
- X23 10875.000000 -36.000000 0.000000
- X24 11000.000000 -36.000000 0.000000
- X25 11000.000000 66.000000 0.000000
- X26 10875.000000 66.000000 0.000000
- X27 10875.000000 36.000000 0.000000
- X28 11000.000000 36.000000 0.000000
- X29 4.000000 -66.000000 0.000000
- X30 129.000000 -66.000000 0.000000
- X31 129.000000 -54.888889 0.000000
- X32 4.000000 -54.888889 0.000000
- X33 4.000000 -50.888889 0.000000
- X34 129.000000 -50.888889 0.000000
- X35 129.000000 -39.777779 0.000000
- X36 4.000000 -39.777779 0.000000
- X37 4.000000 -35.777779 0.000000
- X38 129.000000 -35.777779 0.000000
- X39 129.000000 -24.666666 0.000000
- X40 4.000000 -24.666666 0.000000
- X41 4.000000 -20.666666 0.000000
- X42 129.000000 -20.666666 0.000000
- X43 129.000000 -9.555555 0.000000
- X44 4.000000 -9.555555 0.000000
- X45 4.000000 9.555555 0.000000
- X46 129.000000 9.555555 0.000000
- X47 129.000000 20.666666 0.000000
- X48 4.000000 20.666666 0.000000
- X49 4.000000 24.666666 0.000000
- X50 129.000000 24.666666 0.000000
- X51 129.000000 35.777779 0.000000
- X52 4.000000 35.777779 0.000000
- X53 4.000000 39.777779 0.000000
- X54 129.000000 39.777779 0.000000
- X55 129.000000 50.888889 0.000000
- X56 4.000000 50.888889 0.000000
- X57 4.000000 54.888889 0.000000
- X58 129.000000 54.888889 0.000000
- X59 129.000000 66.000000 0.000000
- X60 4.000000 66.000000 0.000000
- X61 11996.000000 -66.000000 0.000000
- X62 11871.000000 -66.000000 0.000000
- X63 11871.000000 -54.888889 0.000000
- X64 11996.000000 -54.888889 0.000000
- X65 11996.000000 -50.888889 0.000000
- X66 11871.000000 -50.888889 0.000000
- X67 11871.000000 -39.777779 0.000000
- X68 11996.000000 -39.777779 0.000000
- X69 11996.000000 -35.777779 0.000000
- X70 11871.000000 -35.777779 0.000000
- X71 11871.000000 -24.666666 0.000000
- X72 11996.000000 -24.666666 0.000000
- X73 11996.000000 -20.666666 0.000000
- X74 11871.000000 -20.666666 0.000000
- X75 11871.000000 -9.555555 0.000000
- X76 11996.000000 -9.555555 0.000000
- X77 11996.000000 9.555555 0.000000
- X78 11871.000000 9.555555 0.000000
- X79 11871.000000 20.666666 0.000000
- X80 11996.000000 20.666666 0.000000
- X81 11996.000000 24.666666 0.000000
- X82 11871.000000 24.666666 0.000000
- X83 11871.000000 35.777779 0.000000
- X84 11996.000000 35.777779 0.000000
- X85 11996.000000 39.777779 0.000000
- X86 11871.000000 39.777779 0.000000
- X87 11871.000000 50.888889 0.000000
- X88 11996.000000 50.888889 0.000000
- X89 11996.000000 54.888889 0.000000
- X90 11871.000000 54.888889 0.000000
- X91 11871.000000 66.000000 0.000000
- X92 11996.000000 66.000000 0.000000
- X93 258.000000 -2.500000 0.000000
- X94 383.000000 -2.500000 0.000000
- X95 383.000000 2.500000 0.000000
- X96 258.000000 2.500000 0.000000
- X97 508.000000 -2.500000 0.000000
- X98 633.000000 -2.500000 0.000000
- X99 633.000000 2.500000 0.000000
- X100 508.000000 2.500000 0.000000
- X101 758.000000 -2.500000 0.000000
- X102 883.000000 -2.500000 0.000000
- X103 883.000000 2.500000 0.000000
- X104 758.000000 2.500000 0.000000
- X105 1008.000000 -2.500000 0.000000
- X106 1133.000000 -2.500000 0.000000
- X107 1133.000000 2.500000 0.000000
- X108 1008.000000 2.500000 0.000000
- X109 1258.000000 -2.500000 0.000000
- X110 1383.000000 -2.500000 0.000000
- X111 1383.000000 2.500000 0.000000
- X112 1258.000000 2.500000 0.000000
- X113 1508.000000 -2.500000 0.000000
- X114 1633.000000 -2.500000 0.000000
- X115 1633.000000 2.500000 0.000000
- X116 1508.000000 2.500000 0.000000
- X117 1758.000000 -2.500000 0.000000
- X118 1883.000000 -2.500000 0.000000
- X119 1883.000000 2.500000 0.000000
- X120 1758.000000 2.500000 0.000000
- X121 2008.000000 -2.500000 0.000000
- X122 2133.000000 -2.500000 0.000000
- X123 2133.000000 2.500000 0.000000
- X124 2008.000000 2.500000 0.000000
- X125 2258.000000 -2.500000 0.000000
- X126 2383.000000 -2.500000 0.000000
- X127 2383.000000 2.500000 0.000000
- X128 2258.000000 2.500000 0.000000
- X129 2508.000000 -2.500000 0.000000
- X130 2633.000000 -2.500000 0.000000
- X131 2633.000000 2.500000 0.000000
- X132 2508.000000 2.500000 0.000000
- X133 2758.000000 -2.500000 0.000000
- X134 2883.000000 -2.500000 0.000000
- X135 2883.000000 2.500000 0.000000
- X136 2758.000000 2.500000 0.000000
- X137 3008.000000 -2.500000 0.000000
- X138 3133.000000 -2.500000 0.000000
- X139 3133.000000 2.500000 0.000000
- X140 3008.000000 2.500000 0.000000
- X141 3258.000000 -2.500000 0.000000
- X142 3383.000000 -2.500000 0.000000
- X143 3383.000000 2.500000 0.000000
- X144 3258.000000 2.500000 0.000000
- X145 3508.000000 -2.500000 0.000000
- X146 3633.000000 -2.500000 0.000000
- X147 3633.000000 2.500000 0.000000
- X148 3508.000000 2.500000 0.000000
- X149 3758.000000 -2.500000 0.000000
- X150 3883.000000 -2.500000 0.000000
- X151 3883.000000 2.500000 0.000000
- X152 3758.000000 2.500000 0.000000
- X153 4008.000000 -2.500000 0.000000
- X154 4133.000000 -2.500000 0.000000
- X155 4133.000000 2.500000 0.000000
- X156 4008.000000 2.500000 0.000000
- X157 4258.000000 -2.500000 0.000000
- X158 4383.000000 -2.500000 0.000000
- X159 4383.000000 2.500000 0.000000
- X160 4258.000000 2.500000 0.000000
- X161 4508.000000 -2.500000 0.000000
- X162 4633.000000 -2.500000 0.000000
- X163 4633.000000 2.500000 0.000000
- X164 4508.000000 2.500000 0.000000
- X165 4758.000000 -2.500000 0.000000
- X166 4883.000000 -2.500000 0.000000
- X167 4883.000000 2.500000 0.000000
- X168 4758.000000 2.500000 0.000000
- X169 5008.000000 -2.500000 0.000000
- X170 5133.000000 -2.500000 0.000000
- X171 5133.000000 2.500000 0.000000
- X172 5008.000000 2.500000 0.000000
- X173 5258.000000 -2.500000 0.000000
- X174 5383.000000 -2.500000 0.000000
- X175 5383.000000 2.500000 0.000000
- X176 5258.000000 2.500000 0.000000
- X177 5508.000000 -2.500000 0.000000
- X178 5633.000000 -2.500000 0.000000
- X179 5633.000000 2.500000 0.000000
- X180 5508.000000 2.500000 0.000000
- X181 5758.000000 -2.500000 0.000000
- X182 5883.000000 -2.500000 0.000000
- X183 5883.000000 2.500000 0.000000
- X184 5758.000000 2.500000 0.000000
- X185 6008.000000 -2.500000 0.000000
- X186 6133.000000 -2.500000 0.000000
- X187 6133.000000 2.500000 0.000000
- X188 6008.000000 2.500000 0.000000
- X189 6258.000000 -2.500000 0.000000
- X190 6383.000000 -2.500000 0.000000
- X191 6383.000000 2.500000 0.000000
- X192 6258.000000 2.500000 0.000000
- X193 6508.000000 -2.500000 0.000000
- X194 6633.000000 -2.500000 0.000000
- X195 6633.000000 2.500000 0.000000
- X196 6508.000000 2.500000 0.000000
- X197 6758.000000 -2.500000 0.000000
- X198 6883.000000 -2.500000 0.000000
- X199 6883.000000 2.500000 0.000000
- X200 6758.000000 2.500000 0.000000
- X201 7008.000000 -2.500000 0.000000
- X202 7133.000000 -2.500000 0.000000
- X203 7133.000000 2.500000 0.000000
- X204 7008.000000 2.500000 0.000000
- X205 7258.000000 -2.500000 0.000000
- X206 7383.000000 -2.500000 0.000000
- X207 7383.000000 2.500000 0.000000
- X208 7258.000000 2.500000 0.000000
- X209 7508.000000 -2.500000 0.000000
- X210 7633.000000 -2.500000 0.000000
- X211 7633.000000 2.500000 0.000000
- X212 7508.000000 2.500000 0.000000
- X213 7758.000000 -2.500000 0.000000
- X214 7883.000000 -2.500000 0.000000
- X215 7883.000000 2.500000 0.000000
- X216 7758.000000 2.500000 0.000000
- X217 8008.000000 -2.500000 0.000000
- X218 8133.000000 -2.500000 0.000000
- X219 8133.000000 2.500000 0.000000
- X220 8008.000000 2.500000 0.000000
- X221 8258.000000 -2.500000 0.000000
- X222 8383.000000 -2.500000 0.000000
- X223 8383.000000 2.500000 0.000000
- X224 8258.000000 2.500000 0.000000
- X225 8508.000000 -2.500000 0.000000
- X226 8633.000000 -2.500000 0.000000
- X227 8633.000000 2.500000 0.000000
- X228 8508.000000 2.500000 0.000000
- X229 8758.000000 -2.500000 0.000000
- X230 8883.000000 -2.500000 0.000000
- X231 8883.000000 2.500000 0.000000
- X232 8758.000000 2.500000 0.000000
- X233 9008.000000 -2.500000 0.000000
- X234 9133.000000 -2.500000 0.000000
- X235 9133.000000 2.500000 0.000000
- X236 9008.000000 2.500000 0.000000
- X237 9258.000000 -2.500000 0.000000
- X238 9383.000000 -2.500000 0.000000
- X239 9383.000000 2.500000 0.000000
- X240 9258.000000 2.500000 0.000000
- X241 9508.000000 -2.500000 0.000000
- X242 9633.000000 -2.500000 0.000000
- X243 9633.000000 2.500000 0.000000
- X244 9508.000000 2.500000 0.000000
- X245 9758.000000 -2.500000 0.000000
- X246 9883.000000 -2.500000 0.000000
- X247 9883.000000 2.500000 0.000000
- X248 9758.000000 2.500000 0.000000
- X249 10008.000000 -2.500000 0.000000
- X250 10133.000000 -2.500000 0.000000
- X251 10133.000000 2.500000 0.000000
- X252 10008.000000 2.500000 0.000000
- X253 10258.000000 -2.500000 0.000000
- X254 10383.000000 -2.500000 0.000000
- X255 10383.000000 2.500000 0.000000
- X256 10258.000000 2.500000 0.000000
- X257 10508.000000 -2.500000 0.000000
- X258 10633.000000 -2.500000 0.000000
- X259 10633.000000 2.500000 0.000000
- X260 10508.000000 2.500000 0.000000
- X261 10758.000000 -2.500000 0.000000
- X262 10883.000000 -2.500000 0.000000
- X263 10883.000000 2.500000 0.000000
- X264 10758.000000 2.500000 0.000000
- X265 11008.000000 -2.500000 0.000000
- X266 11133.000000 -2.500000 0.000000
- X267 11133.000000 2.500000 0.000000
- X268 11008.000000 2.500000 0.000000
- X269 11258.000000 -2.500000 0.000000
- X270 11383.000000 -2.500000 0.000000
- X271 11383.000000 2.500000 0.000000
- X272 11258.000000 2.500000 0.000000
- X273 11508.000000 -2.500000 0.000000
- X274 11633.000000 -2.500000 0.000000
- X275 11633.000000 2.500000 0.000000
- X276 11508.000000 2.500000 0.000000
- X277 11758.000000 -2.500000 0.000000
- X278 11883.000000 -2.500000 0.000000
- X279 11883.000000 2.500000 0.000000
- X280 11758.000000 2.500000 0.000000
- Xblack 4 1 2 3 4
- Xwhite 4 5 6 7 8
- Xwhite 4 9 10 11 12
- Xwhite 4 13 14 15 16
- Xwhite 4 17 18 19 20
- Xwhite 4 21 22 23 24
- Xwhite 4 25 26 27 28
- Xwhite 4 29 30 31 32
- Xwhite 4 33 34 35 36
- Xwhite 4 37 38 39 40
- Xwhite 4 41 42 43 44
- Xwhite 4 45 46 47 48
- Xwhite 4 49 50 51 52
- Xwhite 4 53 54 55 56
- Xwhite 4 57 58 59 60
- Xwhite 4 61 62 63 64
- Xwhite 4 65 66 67 68
- Xwhite 4 69 70 71 72
- Xwhite 4 73 74 75 76
- Xwhite 4 77 78 79 80
- Xwhite 4 81 82 83 84
- Xwhite 4 85 86 87 88
- Xwhite 4 89 90 91 92
- Xwhite 4 93 94 95 96
- Xwhite 4 97 98 99 100
- Xwhite 4 101 102 103 104
- Xwhite 4 105 106 107 108
- Xwhite 4 109 110 111 112
- Xwhite 4 113 114 115 116
- Xwhite 4 117 118 119 120
- Xwhite 4 121 122 123 124
- Xwhite 4 125 126 127 128
- Xwhite 4 129 130 131 132
- Xwhite 4 133 134 135 136
- Xwhite 4 137 138 139 140
- Xwhite 4 141 142 143 144
- Xwhite 4 145 146 147 148
- Xwhite 4 149 150 151 152
- Xwhite 4 153 154 155 156
- Xwhite 4 157 158 159 160
- Xwhite 4 161 162 163 164
- Xwhite 4 165 166 167 168
- Xwhite 4 169 170 171 172
- Xwhite 4 173 174 175 176
- Xwhite 4 177 178 179 180
- Xwhite 4 181 182 183 184
- Xwhite 4 185 186 187 188
- Xwhite 4 189 190 191 192
- Xwhite 4 193 194 195 196
- Xwhite 4 197 198 199 200
- Xwhite 4 201 202 203 204
- Xwhite 4 205 206 207 208
- Xwhite 4 209 210 211 212
- Xwhite 4 213 214 215 216
- Xwhite 4 217 218 219 220
- Xwhite 4 221 222 223 224
- Xwhite 4 225 226 227 228
- Xwhite 4 229 230 231 232
- Xwhite 4 233 234 235 236
- Xwhite 4 237 238 239 240
- Xwhite 4 241 242 243 244
- Xwhite 4 245 246 247 248
- Xwhite 4 249 250 251 252
- Xwhite 4 253 254 255 256
- Xwhite 4 257 258 259 260
- Xwhite 4 261 262 263 264
- Xwhite 4 265 266 267 268
- Xwhite 4 269 270 271 272
- Xwhite 4 273 274 275 276
- Xwhite 4 277 278 279 280
- END_OF_FILE
- if test 11276 -ne `wc -c <'acm/V/test/fullrwy'`; then
- echo shar: \"'acm/V/test/fullrwy'\" unpacked with wrong size!
- fi
- # end of 'acm/V/test/fullrwy'
- fi
- if test -f 'acm/V/test/rwy' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'acm/V/test/rwy'\"
- else
- echo shar: Extracting \"'acm/V/test/rwy'\" \(11259 characters\)
- sed "s/^X//" >'acm/V/test/rwy' <<'END_OF_FILE'
- XRunway
- X280 69
- X1 0.000000 -75.000000 0.000000
- X2 12000.000000 -75.000000 0.000000
- X3 12000.000000 75.000000 0.000000
- X4 0.000000 75.000000 0.000000
- X5 0.000000 -75.000000 0.000000
- X6 12000.000000 -75.000000 0.000000
- X7 12000.000000 -70.000000 0.000000
- X8 0.000000 -70.000000 0.000000
- X9 0.000000 75.000000 0.000000
- X10 12000.000000 75.000000 0.000000
- X11 12000.000000 70.000000 0.000000
- X12 0.000000 70.000000 0.000000
- X13 1000.000000 -66.000000 0.000000
- X14 1125.000000 -66.000000 0.000000
- X15 1125.000000 -36.000000 0.000000
- X16 1000.000000 -36.000000 0.000000
- X17 1000.000000 66.000000 0.000000
- X18 1125.000000 66.000000 0.000000
- X19 1125.000000 36.000000 0.000000
- X20 1000.000000 36.000000 0.000000
- X21 11000.000000 -66.000000 0.000000
- X22 10875.000000 -66.000000 0.000000
- X23 10875.000000 -36.000000 0.000000
- X24 11000.000000 -36.000000 0.000000
- X25 11000.000000 66.000000 0.000000
- X26 10875.000000 66.000000 0.000000
- X27 10875.000000 36.000000 0.000000
- X28 11000.000000 36.000000 0.000000
- X29 4.000000 -66.000000 0.000000
- X30 129.000000 -66.000000 0.000000
- X31 129.000000 -54.888889 0.000000
- X32 4.000000 -54.888889 0.000000
- X33 4.000000 -50.888889 0.000000
- X34 129.000000 -50.888889 0.000000
- X35 129.000000 -39.777779 0.000000
- X36 4.000000 -39.777779 0.000000
- X37 4.000000 -35.777779 0.000000
- X38 129.000000 -35.777779 0.000000
- X39 129.000000 -24.666666 0.000000
- X40 4.000000 -24.666666 0.000000
- X41 4.000000 -20.666666 0.000000
- X42 129.000000 -20.666666 0.000000
- X43 129.000000 -9.555555 0.000000
- X44 4.000000 -9.555555 0.000000
- X45 4.000000 9.555555 0.000000
- X46 129.000000 9.555555 0.000000
- X47 129.000000 20.666666 0.000000
- X48 4.000000 20.666666 0.000000
- X49 4.000000 24.666666 0.000000
- X50 129.000000 24.666666 0.000000
- X51 129.000000 35.777779 0.000000
- X52 4.000000 35.777779 0.000000
- X53 4.000000 39.777779 0.000000
- X54 129.000000 39.777779 0.000000
- X55 129.000000 50.888889 0.000000
- X56 4.000000 50.888889 0.000000
- X57 4.000000 54.888889 0.000000
- X58 129.000000 54.888889 0.000000
- X59 129.000000 66.000000 0.000000
- X60 4.000000 66.000000 0.000000
- X61 11996.000000 -66.000000 0.000000
- X62 11871.000000 -66.000000 0.000000
- X63 11871.000000 -54.888889 0.000000
- X64 11996.000000 -54.888889 0.000000
- X65 11996.000000 -50.888889 0.000000
- X66 11871.000000 -50.888889 0.000000
- X67 11871.000000 -39.777779 0.000000
- X68 11996.000000 -39.777779 0.000000
- X69 11996.000000 -35.777779 0.000000
- X70 11871.000000 -35.777779 0.000000
- X71 11871.000000 -24.666666 0.000000
- X72 11996.000000 -24.666666 0.000000
- X73 11996.000000 -20.666666 0.000000
- X74 11871.000000 -20.666666 0.000000
- X75 11871.000000 -9.555555 0.000000
- X76 11996.000000 -9.555555 0.000000
- X77 11996.000000 9.555555 0.000000
- X78 11871.000000 9.555555 0.000000
- X79 11871.000000 20.666666 0.000000
- X80 11996.000000 20.666666 0.000000
- X81 11996.000000 24.666666 0.000000
- X82 11871.000000 24.666666 0.000000
- X83 11871.000000 35.777779 0.000000
- X84 11996.000000 35.777779 0.000000
- X85 11996.000000 39.777779 0.000000
- X86 11871.000000 39.777779 0.000000
- X87 11871.000000 50.888889 0.000000
- X88 11996.000000 50.888889 0.000000
- X89 11996.000000 54.888889 0.000000
- X90 11871.000000 54.888889 0.000000
- X91 11871.000000 66.000000 0.000000
- X92 11996.000000 66.000000 0.000000
- X93 258.000000 -2.500000 0.000000
- X94 383.000000 -2.500000 0.000000
- X95 383.000000 2.500000 0.000000
- X96 258.000000 2.500000 0.000000
- X97 508.000000 -2.500000 0.000000
- X98 633.000000 -2.500000 0.000000
- X99 633.000000 2.500000 0.000000
- X100 508.000000 2.500000 0.000000
- X101 758.000000 -2.500000 0.000000
- X102 883.000000 -2.500000 0.000000
- X103 883.000000 2.500000 0.000000
- X104 758.000000 2.500000 0.000000
- X105 1008.000000 -2.500000 0.000000
- X106 1133.000000 -2.500000 0.000000
- X107 1133.000000 2.500000 0.000000
- X108 1008.000000 2.500000 0.000000
- X109 1258.000000 -2.500000 0.000000
- X110 1383.000000 -2.500000 0.000000
- X111 1383.000000 2.500000 0.000000
- X112 1258.000000 2.500000 0.000000
- X113 1508.000000 -2.500000 0.000000
- X114 1633.000000 -2.500000 0.000000
- X115 1633.000000 2.500000 0.000000
- X116 1508.000000 2.500000 0.000000
- X117 1758.000000 -2.500000 0.000000
- X118 1883.000000 -2.500000 0.000000
- X119 1883.000000 2.500000 0.000000
- X120 1758.000000 2.500000 0.000000
- X121 2008.000000 -2.500000 0.000000
- X122 2133.000000 -2.500000 0.000000
- X123 2133.000000 2.500000 0.000000
- X124 2008.000000 2.500000 0.000000
- X125 2258.000000 -2.500000 0.000000
- X126 2383.000000 -2.500000 0.000000
- X127 2383.000000 2.500000 0.000000
- X128 2258.000000 2.500000 0.000000
- X129 2508.000000 -2.500000 0.000000
- X130 2633.000000 -2.500000 0.000000
- X131 2633.000000 2.500000 0.000000
- X132 2508.000000 2.500000 0.000000
- X133 2758.000000 -2.500000 0.000000
- X134 2883.000000 -2.500000 0.000000
- X135 2883.000000 2.500000 0.000000
- X136 2758.000000 2.500000 0.000000
- X137 3008.000000 -2.500000 0.000000
- X138 3133.000000 -2.500000 0.000000
- X139 3133.000000 2.500000 0.000000
- X140 3008.000000 2.500000 0.000000
- X141 3258.000000 -2.500000 0.000000
- X142 3383.000000 -2.500000 0.000000
- X143 3383.000000 2.500000 0.000000
- X144 3258.000000 2.500000 0.000000
- X145 3508.000000 -2.500000 0.000000
- X146 3633.000000 -2.500000 0.000000
- X147 3633.000000 2.500000 0.000000
- X148 3508.000000 2.500000 0.000000
- X149 3758.000000 -2.500000 0.000000
- X150 3883.000000 -2.500000 0.000000
- X151 3883.000000 2.500000 0.000000
- X152 3758.000000 2.500000 0.000000
- X153 4008.000000 -2.500000 0.000000
- X154 4133.000000 -2.500000 0.000000
- X155 4133.000000 2.500000 0.000000
- X156 4008.000000 2.500000 0.000000
- X157 4258.000000 -2.500000 0.000000
- X158 4383.000000 -2.500000 0.000000
- X159 4383.000000 2.500000 0.000000
- X160 4258.000000 2.500000 0.000000
- X161 4508.000000 -2.500000 0.000000
- X162 4633.000000 -2.500000 0.000000
- X163 4633.000000 2.500000 0.000000
- X164 4508.000000 2.500000 0.000000
- X165 4758.000000 -2.500000 0.000000
- X166 4883.000000 -2.500000 0.000000
- X167 4883.000000 2.500000 0.000000
- X168 4758.000000 2.500000 0.000000
- X169 5008.000000 -2.500000 0.000000
- X170 5133.000000 -2.500000 0.000000
- X171 5133.000000 2.500000 0.000000
- X172 5008.000000 2.500000 0.000000
- X173 5258.000000 -2.500000 0.000000
- X174 5383.000000 -2.500000 0.000000
- X175 5383.000000 2.500000 0.000000
- X176 5258.000000 2.500000 0.000000
- X177 5508.000000 -2.500000 0.000000
- X178 5633.000000 -2.500000 0.000000
- X179 5633.000000 2.500000 0.000000
- X180 5508.000000 2.500000 0.000000
- X181 5758.000000 -2.500000 0.000000
- X182 5883.000000 -2.500000 0.000000
- X183 5883.000000 2.500000 0.000000
- X184 5758.000000 2.500000 0.000000
- X185 6008.000000 -2.500000 0.000000
- X186 6133.000000 -2.500000 0.000000
- X187 6133.000000 2.500000 0.000000
- X188 6008.000000 2.500000 0.000000
- X189 6258.000000 -2.500000 0.000000
- X190 6383.000000 -2.500000 0.000000
- X191 6383.000000 2.500000 0.000000
- X192 6258.000000 2.500000 0.000000
- X193 6508.000000 -2.500000 0.000000
- X194 6633.000000 -2.500000 0.000000
- X195 6633.000000 2.500000 0.000000
- X196 6508.000000 2.500000 0.000000
- X197 6758.000000 -2.500000 0.000000
- X198 6883.000000 -2.500000 0.000000
- X199 6883.000000 2.500000 0.000000
- X200 6758.000000 2.500000 0.000000
- X201 7008.000000 -2.500000 0.000000
- X202 7133.000000 -2.500000 0.000000
- X203 7133.000000 2.500000 0.000000
- X204 7008.000000 2.500000 0.000000
- X205 7258.000000 -2.500000 0.000000
- X206 7383.000000 -2.500000 0.000000
- X207 7383.000000 2.500000 0.000000
- X208 7258.000000 2.500000 0.000000
- X209 7508.000000 -2.500000 0.000000
- X210 7633.000000 -2.500000 0.000000
- X211 7633.000000 2.500000 0.000000
- X212 7508.000000 2.500000 0.000000
- X213 7758.000000 -2.500000 0.000000
- X214 7883.000000 -2.500000 0.000000
- X215 7883.000000 2.500000 0.000000
- X216 7758.000000 2.500000 0.000000
- X217 8008.000000 -2.500000 0.000000
- X218 8133.000000 -2.500000 0.000000
- X219 8133.000000 2.500000 0.000000
- X220 8008.000000 2.500000 0.000000
- X221 8258.000000 -2.500000 0.000000
- X222 8383.000000 -2.500000 0.000000
- X223 8383.000000 2.500000 0.000000
- X224 8258.000000 2.500000 0.000000
- X225 8508.000000 -2.500000 0.000000
- X226 8633.000000 -2.500000 0.000000
- X227 8633.000000 2.500000 0.000000
- X228 8508.000000 2.500000 0.000000
- X229 8758.000000 -2.500000 0.000000
- X230 8883.000000 -2.500000 0.000000
- X231 8883.000000 2.500000 0.000000
- X232 8758.000000 2.500000 0.000000
- X233 9008.000000 -2.500000 0.000000
- X234 9133.000000 -2.500000 0.000000
- X235 9133.000000 2.500000 0.000000
- X236 9008.000000 2.500000 0.000000
- X237 9258.000000 -2.500000 0.000000
- X238 9383.000000 -2.500000 0.000000
- X239 9383.000000 2.500000 0.000000
- X240 9258.000000 2.500000 0.000000
- X241 9508.000000 -2.500000 0.000000
- X242 9633.000000 -2.500000 0.000000
- X243 9633.000000 2.500000 0.000000
- X244 9508.000000 2.500000 0.000000
- X245 9758.000000 -2.500000 0.000000
- X246 9883.000000 -2.500000 0.000000
- X247 9883.000000 2.500000 0.000000
- X248 9758.000000 2.500000 0.000000
- X249 10008.000000 -2.500000 0.000000
- X250 10133.000000 -2.500000 0.000000
- X251 10133.000000 2.500000 0.000000
- X252 10008.000000 2.500000 0.000000
- X253 10258.000000 -2.500000 0.000000
- X254 10383.000000 -2.500000 0.000000
- X255 10383.000000 2.500000 0.000000
- X256 10258.000000 2.500000 0.000000
- X257 10508.000000 -2.500000 0.000000
- X258 10633.000000 -2.500000 0.000000
- X259 10633.000000 2.500000 0.000000
- X260 10508.000000 2.500000 0.000000
- X261 10758.000000 -2.500000 0.000000
- X262 10883.000000 -2.500000 0.000000
- X263 10883.000000 2.500000 0.000000
- X264 10758.000000 2.500000 0.000000
- X265 11008.000000 -2.500000 0.000000
- X266 11133.000000 -2.500000 0.000000
- X267 11133.000000 2.500000 0.000000
- X268 11008.000000 2.500000 0.000000
- X269 11258.000000 -2.500000 0.000000
- X270 11383.000000 -2.500000 0.000000
- X271 11383.000000 2.500000 0.000000
- X272 11258.000000 2.500000 0.000000
- X273 11508.000000 -2.500000 0.000000
- X274 11633.000000 -2.500000 0.000000
- X275 11633.000000 2.500000 0.000000
- X276 11508.000000 2.500000 0.000000
- X277 11758.000000 -2.500000 0.000000
- X278 11883.000000 -2.500000 0.000000
- X279 11883.000000 2.500000 0.000000
- X280 11758.000000 2.500000 0.000000
- Xwhite 4 5 6 7 8
- Xwhite 4 9 10 11 12
- Xwhite 4 13 14 15 16
- Xwhite 4 17 18 19 20
- Xwhite 4 21 22 23 24
- Xwhite 4 25 26 27 28
- Xwhite 4 29 30 31 32
- Xwhite 4 33 34 35 36
- Xwhite 4 37 38 39 40
- Xwhite 4 41 42 43 44
- Xwhite 4 45 46 47 48
- Xwhite 4 49 50 51 52
- Xwhite 4 53 54 55 56
- Xwhite 4 57 58 59 60
- Xwhite 4 61 62 63 64
- Xwhite 4 65 66 67 68
- Xwhite 4 69 70 71 72
- Xwhite 4 73 74 75 76
- Xwhite 4 77 78 79 80
- Xwhite 4 81 82 83 84
- Xwhite 4 85 86 87 88
- Xwhite 4 89 90 91 92
- Xwhite 4 93 94 95 96
- Xwhite 4 97 98 99 100
- Xwhite 4 101 102 103 104
- Xwhite 4 105 106 107 108
- Xwhite 4 109 110 111 112
- Xwhite 4 113 114 115 116
- Xwhite 4 117 118 119 120
- Xwhite 4 121 122 123 124
- Xwhite 4 125 126 127 128
- Xwhite 4 129 130 131 132
- Xwhite 4 133 134 135 136
- Xwhite 4 137 138 139 140
- Xwhite 4 141 142 143 144
- Xwhite 4 145 146 147 148
- Xwhite 4 149 150 151 152
- Xwhite 4 153 154 155 156
- Xwhite 4 157 158 159 160
- Xwhite 4 161 162 163 164
- Xwhite 4 165 166 167 168
- Xwhite 4 169 170 171 172
- Xwhite 4 173 174 175 176
- Xwhite 4 177 178 179 180
- Xwhite 4 181 182 183 184
- Xwhite 4 185 186 187 188
- Xwhite 4 189 190 191 192
- Xwhite 4 193 194 195 196
- Xwhite 4 197 198 199 200
- Xwhite 4 201 202 203 204
- Xwhite 4 205 206 207 208
- Xwhite 4 209 210 211 212
- Xwhite 4 213 214 215 216
- Xwhite 4 217 218 219 220
- Xwhite 4 221 222 223 224
- Xwhite 4 225 226 227 228
- Xwhite 4 229 230 231 232
- Xwhite 4 233 234 235 236
- Xwhite 4 237 238 239 240
- Xwhite 4 241 242 243 244
- Xwhite 4 245 246 247 248
- Xwhite 4 249 250 251 252
- Xwhite 4 253 254 255 256
- Xwhite 4 257 258 259 260
- Xwhite 4 261 262 263 264
- Xwhite 4 265 266 267 268
- Xwhite 4 269 270 271 272
- Xwhite 4 273 274 275 276
- Xwhite 4 277 278 279 280
- END_OF_FILE
- if test 11259 -ne `wc -c <'acm/V/test/rwy'`; then
- echo shar: \"'acm/V/test/rwy'\" unpacked with wrong size!
- fi
- # end of 'acm/V/test/rwy'
- fi
- if test -f 'acm/fsim/missile.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'acm/fsim/missile.c'\"
- else
- echo shar: Extracting \"'acm/fsim/missile.c'\" \(10544 characters\)
- sed "s/^X//" >'acm/fsim/missile.c' <<'END_OF_FILE'
- X/*
- X * xflight : an aerial combat simulator for X
- X *
- X * Written by Riley Rainey, riley@mips.com
- X *
- X * Permission to use, copy, modify and distribute (without charge) this
- X * software, documentation, images, etc. is granted, provided that this
- X * comment and the author's name is retained.
- X *
- X */
- X
- X#include "pm.h"
- X#include <math.h>
- X
- Xtypedef struct _entry {
- X double time;
- X double min;
- X craft *c;
- X struct _entry *next;
- X } entry;
- X
- X
- Xextern craftType *lookupCraft();
- Xextern int mdebug;
- Xextern void lookForCannonImpacts();
- Xextern void euler();
- X
- Xint fireMissile (c)
- Xcraft *c; {
- X
- X register craft *m;
- X register int i;
- X VPoint s;
- X VPoint cY, mX, mY, mZ;
- X double v;
- X
- X for ((i=0, m= &mtbl[0]); i<MAXPROJECTILES; (++i, ++m))
- X if (m->type == CT_FREE) {
- X m->type = CT_MISSILE;
- X break;
- X }
- X
- X if (i == MAXPROJECTILES)
- X return -1;
- X
- X m->cinfo = lookupCraft ("aim-9m");
- X m->fuel = m->cinfo->maxFuel;
- X m->curThrust = m->cinfo->maxThrust;
- X
- X/*
- X * Build trihedral based on the launching aircraft's current velocity vector
- X * rather than simply it's current direction vector.
- X *
- X * (1) build a unit velocity vector.
- X * (2) calculate missiles local Z axis from
- X * plane's-y-axis CROSS missile's-unit-velocity-vector
- X * (3) calculate missile's Y axis.
- X */
- X
- X if ((v = mag (c->Cg)) == 0.0) {
- X m->trihedral = c->trihedral;
- X m->Itrihedral = c->Itrihedral;
- X m->curRoll = c->curRoll;
- X m->curPitch = c->curPitch;
- X m->curHeading = c->curHeading;
- X }
- X else {
- X mX = c->Cg;
- X mX.x /= v;
- X mX.y /= v;
- X mX.z /= v;
- X cY.x = c->trihedral.m[0][1];
- X cY.y = c->trihedral.m[1][1];
- X cY.z = c->trihedral.m[2][1];
- X
- X VCrossProd (&mX, &cY, &mZ);
- X VCrossProd (&mZ, &mX, &mY);
- X
- X m->trihedral.m[0][0] = mX.x;
- X m->trihedral.m[1][0] = mX.y;
- X m->trihedral.m[2][0] = mX.z;
- X m->trihedral.m[0][1] = mY.x;
- X m->trihedral.m[1][1] = mY.y;
- X m->trihedral.m[2][1] = mY.z;
- X m->trihedral.m[0][2] = mZ.x;
- X m->trihedral.m[1][2] = mZ.y;
- X m->trihedral.m[2][2] = mZ.z;
- X
- X transpose (&m->trihedral, &m->Itrihedral);
- X euler (m);
- X }
- X
- X m->Cg = c->Cg;
- X VTransform (&(c->cinfo->wStation[1]), &(c->trihedral), &s);
- X m->Sg.x = c->Sg.x + s.x;
- X m->Sg.y = c->Sg.y + s.y;
- X m->Sg.z = c->Sg.z + s.z;
- X m->armFuse = (int) (m->cinfo->armDelay / deltaT);
- X m->flags = FL_HAS_GYRO;
- X m->createTime = curTime;
- X
- X/*
- X * kludge
- X */
- X
- X m->curRadarTarget = c->curRadarTarget;
- X
- X return 0;
- X}
- X
- Xint killMissile (c)
- Xcraft *c; {
- X
- X c->type = CT_FREE;
- X return 0;
- X}
- X
- Xint lookForImpacts () {
- X
- X craft *c, *m;
- X entry p[MAXPLAYERS], *list, *q, *r, *rprev;
- X VPoint v, s0;
- X double t, d;
- X int i, j;
- X
- X for (m=mtbl, i=0; i<MAXPROJECTILES; ++i, ++m) {
- X
- X if (m->type == CT_CANNON) {
- X lookForCannonImpacts (m);
- X continue;
- X }
- X else if (m->type != CT_MISSILE || m->armFuse > 0)
- X continue;
- X
- X list = (entry *) NULL;
- X for (c=ptbl, j=0; j<MAXPLAYERS; ++j, ++c) {
- X
- X if (c->type == CT_FREE)
- X continue;
- X
- X/*
- X * Reduce the relative motion of this object to a the parametric system
- X * of equations:
- X * x(t) = vx * t + s0x
- X * y(t) = vy * t + s0y
- X * z(t) = vz * t + s0z
- X *
- X * We can then compute the time of perigee (closest pass) along with
- X * the associated minimum distance.
- X */
- X
- X v.x = c->Sg.x - c->prevSg.x - m->Sg.x + m->prevSg.x;
- X v.y = c->Sg.y - c->prevSg.y - m->Sg.y + m->prevSg.y;
- X v.z = c->Sg.z - c->prevSg.z - m->Sg.z + m->prevSg.z;
- X s0.x = c->prevSg.x - m->prevSg.x;
- X s0.y = c->prevSg.y - m->prevSg.y;
- X s0.z = c->prevSg.z - m->prevSg.z;
- X
- X/*
- X * Compute time of minimum distance between the two objects (note that units
- X * here are UPDATE_INTERVAL seconds).
- X */
- X
- X t = - (v.x * s0.x + v.y * s0.y + v.z * s0.z) /
- X (v.x * v.x + v.y * v.y + v.z * v.z);
- X
- X if (mdebug)
- X printf ("perigee in %g seconds with player %d\n",
- X t*deltaT, j);
- X
- X/*
- X * If the closest pass occurs during this update interval, check for a hit.
- X * We'll build a linked list of all craft that this projectile may strike
- X * during this period, arranged in ascending order by time of "perigee"
- X * (closest pass). We'll then test for strikes. If a projectile misses
- X * the first object, then it may have struck subsequent objects in the
- X * list ...
- X */
- X
- X/*
- X * One special case occurs when a target or missile's turn suddenly
- X * changes the perigee time from positive to negative. If the missile
- X * is within hitting range at t=0 and the time of perigee is negative,
- X * then zap 'em.
- X */
- X
- X if (t < 0.0) {
- X d = sqrt (s0.x *s0.x + s0.y * s0.y +
- X s0.z * s0.z);
- X if (isMissileHit (d, c)) {
- X t = 0.0;
- X }
- X }
- X
- X if (t >= 0.0 && t <= 1.0) {
- X q = &p[j];
- X if (list == (entry *) NULL) {
- X q->next = list;
- X list = q;
- X }
- X else if (list->time > t) {
- X q->next = list;
- X list = q;
- X }
- X else {
- X for (rprev=list, r=list->next; r != (entry *) NULL;) {
- X if (r->time > t) break;
- X rprev = r;
- X r = r->next;
- X }
- X rprev->next = q;
- X q->next = r;
- X }
- X q->time = t;
- X q->c = c;
- X q->min = sqrt (pow(v.x * t + s0.x, 2.0) +
- X pow (v.y * t + s0.y, 2.0) +
- X pow (v.z * t + s0.z, 2.0) );
- X if (mdebug)
- X printf ("perigee %g feet; craft %d.\n",
- X q->min, j);
- X }
- X }
- X
- X/*
- X * Now look for missile hits in the list of perigees.
- X */
- X
- X for (r=list; r != (entry *) NULL; r=r->next)
- X if (isMissileHit (r->min, r->c)) {
- X killMissile (m);
- X if (absorbDamage (r->c, 20) == 0)
- X killPlayer (r->c);
- X break;
- X }
- X }
- X
- X return(0);
- X}
- X
- X/*ARGSUSED*/
- Xint isMissileHit (min, c)
- Xdouble min;
- Xcraft *c; {
- X
- X return (min < 50.0) ? 1 : 0;
- X}
- X
- X#define IRScanSlope 0.57735
- X
- Xint isIRVisible (c, m, t)
- Xcraft *c;
- XVMatrix *m;
- XVPoint *t; {
- X
- X VPoint relPos;
- X
- X if (c->type == CT_FREE)
- X return 0;
- X
- X VTransform (&(c->Sg), m, t);
- X
- X if (t->z <= 0.0)
- X return 0;
- X
- X relPos.x = t->x / (t->z * IRScanSlope);
- X relPos.y = t->y / (t->z * IRScanSlope);
- X
- X return (sqrt(relPos.x*relPos.x + relPos.y*relPos.y) > 1.0) ? 0 : 1;
- X}
- X
- Xint getIRTarget (c, m, t)
- Xcraft *c;
- XVMatrix *m;
- XVPoint *t; {
- X
- X int i, n;
- X craft *p;
- X VPoint tNew, tMin;
- X double m1, min;
- X
- X if (c->curRadarTarget != -1 && isIRVisible(&ptbl[c->curRadarTarget], m, t))
- X return c->curRadarTarget;
- X
- X/*
- X * Look for a target. Designate the closest one as a new target.
- X */
- X
- X min = 1000000.0;
- X n = -1;
- X for (i=0, p=ptbl; i<MAXPLAYERS; ++i, ++p) {
- X if (p == c)
- X continue;
- X if (p->type != CT_FREE)
- X if (isIRVisible (p, m, &tNew)) {
- X m1 = mag(tNew);
- X if (m1 < min) {
- X n = i;
- X min = m1;
- X tMin = tNew;
- X }
- X }
- X }
- X
- X *t = tMin;
- X return n;
- X}
- X
- Xvoid createMissileEyeSpace (c, eyeSpace)
- Xcraft *c;
- XVMatrix *eyeSpace; {
- X
- X VPoint CntrInt, up, C1, C2;
- X VMatrix mtx, es;
- X double Hypotenuse, h1, SinA, CosA;
- X
- X/*
- X * Create an eyeSpace transformation matrix to convert from global to
- X * local coordinates.
- X */
- X
- X CntrInt.x = c->Sg.x + c->trihedral.m[0][0];
- X CntrInt.y = c->Sg.y + c->trihedral.m[1][0];
- X CntrInt.z = c->Sg.z + c->trihedral.m[2][0];
- X
- X/*
- X * If the missile has a gyroscope, then it can determine which way "down" is
- X * and, hence, compensate for gravity. Here, we'll compensate by pointing
- X * the nose of the missile up by a maximum of 12 degrees at all times.
- X */
- X
- X if (c->flags & FL_HAS_GYRO)
- X if (c->curThrust > 0.0)
- X CntrInt.z += 0.208;
- X else
- X CntrInt.z += 0.30;
- X
- X up.x = c->Sg.x - c->trihedral.m[0][2];
- X up.y = c->Sg.y - c->trihedral.m[1][2];
- X up.z = c->Sg.z - c->trihedral.m[2][2];
- X
- X VIdentMatrix (eyeSpace);
- X eyeSpace->m[0][3] = -c->Sg.x;
- X eyeSpace->m[1][3] = -c->Sg.y;
- X eyeSpace->m[2][3] = -c->Sg.z;
- X VTransform(&CntrInt, eyeSpace, &C1);
- X
- X VIdentMatrix (&mtx);
- X Hypotenuse = sqrt(C1.x * C1.x + C1.y * C1.y);
- X if (Hypotenuse > 0.0) {
- X CosA = C1.y / Hypotenuse;
- X SinA = C1.x / Hypotenuse;
- X mtx.m[0][0] = CosA;
- X mtx.m[1][0] = SinA;
- X mtx.m[0][1] = -SinA;
- X mtx.m[1][1] = CosA;
- X es = *eyeSpace;
- X VMatrixMult(&es, &mtx, eyeSpace);
- X }
- X
- X VTransform(&CntrInt, eyeSpace, &C2);
- X VIdentMatrix (&mtx);
- X Hypotenuse = sqrt(C2.y * C2.y + C2.z * C2.z);
- X if (Hypotenuse > 0.0) {
- X CosA = C2.y / Hypotenuse;
- X SinA = -C2.z / Hypotenuse;
- X mtx.m[1][1] = CosA;
- X mtx.m[2][1] = SinA;
- X mtx.m[1][2] = -SinA;
- X mtx.m[2][2] = CosA;
- X es = *eyeSpace;
- X VMatrixMult(&es, &mtx, eyeSpace);
- X }
- X
- X VTransform (&up, eyeSpace, &C2);
- X VIdentMatrix (&mtx);
- X h1 = sqrt (C2.y * C2.y + C2.z * C2.z);
- X Hypotenuse = sqrt(C2.x * C2.x + h1 * h1);
- X if (Hypotenuse > 0.0) {
- X CosA = h1 / Hypotenuse;
- X SinA = C2.x / Hypotenuse;
- X if (C2.z < 0.0) {
- X CosA = -CosA;
- X }
- X mtx.m[0][0] = CosA;
- X mtx.m[2][0] = SinA;
- X mtx.m[0][2] = -SinA;
- X mtx.m[2][2] = CosA;
- X es = *eyeSpace;
- X VMatrixMult(&es, &mtx, eyeSpace);
- X }
- X
- X VIdentMatrix (&mtx);
- X mtx.m[1][1] = 0.0;
- X mtx.m[2][1] = 1.0;
- X mtx.m[1][2] = 1.0;
- X mtx.m[2][2] = 0.0;
- X es = *eyeSpace;
- X VMatrixMult(&es, &mtx, eyeSpace);
- X
- X}
- X
- Xvoid trackTarget (c)
- Xcraft *c; {
- X
- X VMatrix eyeSpace, mtx, mtx1;
- X VPoint t, t1;
- X double v, h, m, maxTurnSlope, aMax = 30.0 * a;
- X double deltaRoll, deltaPitch, deltaYaw;
- X double cosR, sinR;
- X
- X createMissileEyeSpace (c, &eyeSpace);
- X
- X/*
- X * Now let's get to target tracking; the missile won't start tracking until
- X * 0.60 seconds has elapsed. Then, if we don't already have a target
- X * designated, get one.
- X */
- X
- X if (curTime - c->createTime < 0.60) {
- X t.x = 0.0;
- X t.y = 0.0;
- X t.z = 1.0;
- X }
- X else if ((c->curRadarTarget = getIRTarget(c, &eyeSpace, &t)) == -1) {
- X if (mdebug)
- X printf ("Missile elects to self-destruct\n");
- X killMissile (c);
- X return;
- X }
- X
- X t.x = t.x / t.z;
- X t.y = t.y / t.z;
- X
- X h = sqrt (t.x*t.x + t.y*t.y);
- X v = mag (c->Cg);
- X
- X/*
- X * We'll constrain missile turns to a 20 degree/second unless it's velocity
- X * would make that greater than 30g's.
- X */
- X
- X if ((m=(v*v - aMax*aMax/4.0)) > 0.0)
- X maxTurnSlope = aMax / (2.0 * sqrt (m)) * deltaT;
- X
- X else
- X maxTurnSlope = 0.3639 * deltaT;
- X
- X if (mdebug)
- X printf ("slope = %g; maxTurnSlope = %g\n", h, maxTurnSlope);
- X
- X if (h > maxTurnSlope) {
- X t.x = t.x * maxTurnSlope / h;
- X t.y = t.y * maxTurnSlope / h;
- X }
- X
- X cosR = cos (c->curRoll);
- X sinR = sin (c->curRoll);
- X
- X deltaRoll = 0.0;
- X deltaPitch = atan (t.y);
- X deltaYaw = atan (t.x);
- X
- X/*
- X * Re-orient the velocity vector towards our new direction.
- X */
- X
- X VIdentMatrix (&mtx);
- X if (deltaPitch != 0.0)
- X VRotate (&mtx, YRotation, - deltaPitch);
- X if (deltaYaw != 0.0)
- X VRotate (&mtx, ZRotation, deltaYaw);
- X VTransform (&(c->Cg), &(c->Itrihedral), &t);
- X VTransform (&t, &mtx, &t1);
- X VTransform (&t1, &(c->trihedral), &(c->Cg));
- X
- X if (mdebug)
- X printf ("Missile changes: pitch: %g, yaw: %g.\n",
- X RADtoDEG(deltaPitch), RADtoDEG(deltaYaw));
- X
- X buildEulerMatrix (deltaRoll, deltaPitch, deltaYaw, &mtx);
- X VMatrixMult (&mtx, &c->trihedral, &mtx1);
- X c->trihedral = mtx1;
- X
- X transpose (&c->trihedral, &c->Itrihedral);
- X euler (c);
- X
- X}
- END_OF_FILE
- if test 10544 -ne `wc -c <'acm/fsim/missile.c'`; then
- echo shar: \"'acm/fsim/missile.c'\" unpacked with wrong size!
- fi
- # end of 'acm/fsim/missile.c'
- fi
- echo shar: End of archive 5 \(of 9\).
- cp /dev/null ark5isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 9 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
- --
- Riley Rainey Internet: riley@mips.com
- MIPS Computer Systems Phone: +1 214 770-7979
- Dallas, Texas
-